Skip to content

fix: preserve page titles in navigation actions - #989

Merged
ako merged 1 commit into
mendixlabs:mainfrom
GG-O-BP:fix/navigation-page-title-override-null
Aug 31, 2026
Merged

fix: preserve page titles in navigation actions#989
ako merged 1 commit into
mendixlabs:mainfrom
GG-O-BP:fix/navigation-page-title-override-null

Conversation

@GG-O-BP

@GG-O-BP GG-O-BP commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • write navigation page actions with FormSettings.TitleOverride = null, matching Studio Pro and the already-fixed page-button/show-page paths
  • remove the two now-unused empty-template helpers
  • cover the modelsdk backend, legacy MPR writer, and modelsdk MPR patch writer

Evidence

  • go test ./mdl/backend/modelsdk -run 'Navigation|NavMenu|NavForm' -count=1
  • go test ./sdk/mpr -count=1
  • go test ./modelsdk/mpr -count=1
  • go vet for all three packages
  • real Mendix 11.12.3 App: official mx check stayed at 0 errors and dropped 16 CW0263 Empty template warnings (199 -> 183) after replaying the navigation profile

This closes the navigation writer path missed by the page-action title-override fix in #812.

@ako
ako merged commit f302410 into mendixlabs:main Aug 31, 2026
4 checks passed
ako added a commit that referenced this pull request Aug 31, 2026
Marker 1 is a legitimate Mendix typed-array marker, not an invalid one --
verified in a Marketplace .mpk mxcli has never touched. The note read as
if the navigation lists were corrupt; they were a per-field mismatch with
what Studio Pro writes for those fields.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DufwPkjFimB8BoTm7bWbik
ako added a commit that referenced this pull request Aug 31, 2026
…le override

PR #989 fixed Forms$FormSettings.TitleOverride in the three navigation
writers but shipped without the two artifacts the bug-fix checklist asks
for. This adds them.

mdl-examples/bug-tests/989-navigation-title-override.mdl replays a
navigation profile with a login page, three page menu items (one nested,
to reach the recursive sub-item build), a microflow item and a sub-menu
container -- four Forms$FormSettings, four TitleOverrides.

The evidence in its header is measured, not restated from the PR. A blank
Mendix app's own navigation document already stores TitleOverride = null
on both LoginPageSettings and the home menu item, so the fix is checked
against a Studio Pro-authored document rather than against a warning
count. The control on a real 11.12.0 v2 app, both engines:

  strings -a <nav unit> | grep -c TextTemplate
    4 before the fix (3 page items + the login page), 0 after,
    while grep -c TitleOverride stays at 4 -- the key is still
    written, now as null.

The symptom-table row records the lesson that generalises: grep the
builder's callers before concluding a navigation fix is menu-only. Each
of the three builders is also the profile's login-page builder, so a fix
aimed at menu items alone would have missed half the emitters.

Two things the script makes visible are called out in its header as out
of scope and are not addressed here: describe navigation drops the
`login page` clause (the reader expects a type the document does not
carry), and every list these writers emit uses typed-array marker 1
where the same app's own document has 2 or 3.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DufwPkjFimB8BoTm7bWbik
ako added a commit that referenced this pull request Aug 31, 2026
Marker 1 is a legitimate Mendix typed-array marker, not an invalid one --
verified in a Marketplace .mpk mxcli has never touched. The note read as
if the navigation lists were corrupt; they were a per-field mismatch with
what Studio Pro writes for those fields.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DufwPkjFimB8BoTm7bWbik
ako added a commit that referenced this pull request Aug 31, 2026
…erride-repro

test(navigation): repro script and symptom-table row for the #989 title override
This was referenced Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants